// Generator 应用  
// 案例1: 发号器

// function * createIdMaker(){
//     let id = 1
//     while(true){
//         yield id++
//     }
// }

// const idMaker = createIdMaker()
// console.log(idMaker.next().value)
// console.log(idMaker.next().value)
// console.log(idMaker.next().value)
// console.log(idMaker.next().value)
// console.log(idMaker.next().value)



// 案例2: 使Generator 函数实现iterator方法
const todos = {
    lift: ['吃饭', '睡觉', '打豆豆'],
    learn:['英语','数学','健身'],
    work: ['咖啡','奶茶'],
    // 可迭代接口
    [Symbol.iterator]: function *(){
        const all = [...this.lift, ...this.learn, ...this.work]
        for(const item of all){
            yield item
        }
    }
}

for(const item of todos){
    console.log(item)
}